package com.tencent.iov.cowin.befsale.clue.dao.http.personal.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.software.common.model.request.ScrmBaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @Author: jiajia.li
 * @ClassName ClueCustomerTransferRequest
 * @Description: 线索客户在职继承请求
 * @DateTime: 2021/12/16 16:16
 */
@Data
public class ClueCustomerTransferRequest extends ScrmBaseRequest {
    @ApiModelProperty(value = "原成员ID")
    @NotNull(message = "原成员ID不能为空")
    private Long oldEmpId;

    @ApiModelProperty(value = "目标成员ID")
    @NotNull(message = "目标成员ID不能为空")
    private Long targetEmpId;

    @NotNull(message = "要转接的好友customer不能为空")
    @ApiModelProperty(value = "要转接的好友customer集合")
    private List<TransferCustomerRequest> customerList;

    @ApiModelProperty(value = "转移成功后发给客户的消息，可为空，不填写则使用默认文案")
    private String transferSuccessMsg;

    @Data
    public static class TransferCustomerRequest {
        @ApiModelProperty(value = "客户baseId")
        @NotEmpty(message = "客户baseId不可为空")
        private String customerBaseId;
        /**
         * 车系编码
         */
        @ApiModelProperty(value = "车系编码", example = "stringValue")
        private String seriesCode;
        /**
         * 车系名称
         */
        @ApiModelProperty(value = "车系名称", example = "stringValue")
        private String seriesName;
        /**
         * 车型编码
         */
        @ApiModelProperty(value = "车型编码", example = "stringValue")
        private String modelCode;
        /**
         * 车型名称
         */
        @ApiModelProperty(value = "车型名称", example = "stringValue")
        private String modelName;
        /**
         * 颜色编码
         */
        @ApiModelProperty(value = "颜色编码", example = "stringValue")
        private String colorCode;
        /**
         * 颜色名称
         */
        @ApiModelProperty(value = "颜色名称", example = "stringValue")
        private String colorName;
        /**
         * 最后跟进时间
         */
        @ApiModelProperty(value = "最后跟进时间", example = "2020-03-28 13:46:56")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date lastFollowTime;
        /**
         * 下次跟进时间
         */
        @ApiModelProperty(value = "下次跟进时间", example = "2020-03-28 13:46:56")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date nextFollowTime;
    }

}
